package ${repositoryPath};
import ${daoPath}.${classInfo.className}Mapper;
import ${poPath}.${classInfo.className};
import com.bicai.framework.repository.DomainRepository;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
import java.util.List;
/**
 * @ClassName ${classInfo.className}
 * @Description ${classInfo.classComment}
 *
 * Entity 对象属于纯数据对象,字段属性和数据库表一模一样  实际上就是PO, DTO 就是PO 包含全部PO 对象的数据对象
 * 在我们项目中 Entity对象当做 DTO 使用 我们应该在 Repository 层把PO 对象转换成 DTO对象（我们项目中是 Entity对象,
 * 原则来讲,我们项目缺少BO 对象,BO 可以看做根据业务需求，集合在一起不同的 DTO,DAO 层是对单表进行操作的返回PO对象封装层
 * @Author ${authorName}
 * @Email ${authorEmail}
 * @Date '${.now?string('yyyy-MM-dd HH:mm:ss')}'
 */
@Repository
public class ${classInfo.className}Repository implements DomainRepository {

    @Resource
    private ${classInfo.className}Mapper mapper;

    public int insert(${classInfo.className} ${classInfo.className?uncap_first}) {
        return mapper.insert(${classInfo.className?uncap_first});
    }

    public int delete(int id) {

        return mapper.delete(id);
    }

    public int update(${classInfo.className} ${classInfo.className?uncap_first}) {
        return mapper.update(${classInfo.className?uncap_first});
    }

    public ${classInfo.className} load(int id) {
        return mapper.load(id);
    }

    public List<${classInfo.className}> pageList(int offset, int pagesize) {
        return mapper.pageList(offset,pagesize);
    }

    public int pageListCount(int offset, int pagesize) {
        return mapper.pageListCount(offset,pagesize);
    }

}
